Computing devices can perform various functions, such as executing applications, receiving user input, and outputting information for display. For instance, computing devices may execute applications, such as an email client, travel assistant, messaging client, and the like. Software developers may rely upon code reuse when writing such applications to speed up and simplify development of the applications. Typically, in order to incorporate existing code into the applications, the developer needs to use static linking, shared libraries, or updatable services. Each technique has various drawbacks, such as requiring support by the underlying operating system onto which the application is installed, only being able to update the reused code when the application is compiled into machine-readable code, or lack of support across a large variety of computing devices onto which the application is installed.